summaryrefslogtreecommitdiff
path: root/apps/web/src/app/editor/[project_id]
diff options
context:
space:
mode:
authorcashmere <cashmere@autistici.org>2026-07-27 01:21:02 +0200
committercashmere <cashmere@autistici.org>2026-07-27 01:21:02 +0200
commit2bbada7d2c5c00c5f844b6916c08bc4a9ea8cb25 (patch)
tree2fdd617e9d51f7293e56b0e9b947f00643aeb8cd /apps/web/src/app/editor/[project_id]
parentf8fdff7f0c1b8efdef9093c932e28e427799d6ef (diff)
downloadopencut-2bbada7d2c5c00c5f844b6916c08bc4a9ea8cb25.tar.gz
feat: freeze-duration prompt
Freeze frame now asks for the duration (decimal seconds, 0 < d <= 600) before capture, via a promise-based zustand store mounted as an editor-global dialog. Last-used duration persists and prefills. Cancel aborts before capture with no commands.
Diffstat (limited to 'apps/web/src/app/editor/[project_id]')
-rw-r--r--apps/web/src/app/editor/[project_id]/page.tsx2
1 files changed, 2 insertions, 0 deletions
diff --git a/apps/web/src/app/editor/[project_id]/page.tsx b/apps/web/src/app/editor/[project_id]/page.tsx
index 680dfff4..b3f1a933 100644
--- a/apps/web/src/app/editor/[project_id]/page.tsx
+++ b/apps/web/src/app/editor/[project_id]/page.tsx
@@ -14,6 +14,7 @@ import { EditorHeader } from "@/components/editor/editor-header";
import { EditorProvider } from "@/components/providers/editor-provider";
import { Onboarding } from "@/components/editor/onboarding";
import { MigrationDialog } from "@/project/components/migration-dialog";
+import { FreezeFrameDialog } from "@/actions/components/freeze-frame-dialog";
import { usePanelStore } from "@/editor/panel-store";
import { usePasteMedia } from "@/media/use-paste-media";
import { MobileGate } from "@/components/editor/mobile-gate";
@@ -50,6 +51,7 @@ export default function Editor() {
</div>
<Onboarding />
<MigrationDialog />
+ <FreezeFrameDialog />
<ChangelogNotification />
</div>
</EditorProvider>